package org.jupiter.blog.service.service;

import org.jupiter.blog.api.dto.JupiterUrlResourceDTO;

import java.util.List;

public interface JupiterUrlResourceService {

    /**
     * 创建URL资源
     */
    void createUrlResource(JupiterUrlResourceDTO dto);

    /**
     * 根据UUID获取URL资源
     */
    JupiterUrlResourceDTO getById(String uuid);

    /**
     * 更新URL资源
     */
    void updateUrlResource(String uuid, JupiterUrlResourceDTO dto);

    /**
     * 删除URL资源
     */
    void deleteUrlResource(String uuid);

    /**
     * 分页查询URL资源列表
     */
    List<JupiterUrlResourceDTO> getByPage(JupiterUrlResourceDTO queryDTO);

    /**
     * 获取URL资源总数
     */
    long getCount(JupiterUrlResourceDTO queryDTO);

    /**
     * 获取所有URL资源
     */
    List<JupiterUrlResourceDTO> getAll();

    /**
     * 根据模块键获取URL资源列表
     */
    List<JupiterUrlResourceDTO> getByModuleKey(String moduleKey);

    /**
     * 根据URL和方法获取URL资源
     */
    JupiterUrlResourceDTO getByUrlAndMethod(String url, String method);

    /**
     * 获取激活状态的URL资源列表
     */
    List<JupiterUrlResourceDTO> getActiveByModuleKey(String moduleKey);

    /**
     * 获取所有激活状态的URL资源
     */
    List<JupiterUrlResourceDTO> getAllActive();
}
